import pygame
import 配置
from 油条 import 油条类
from 主角类 import 主角类
from 龙虾类 import 龙虾类
from 分数类 import 分数类
from 池塘类 import 池塘类
from 背景类 import 背景类

def 主方法():
    pygame.init()
    主画面 = pygame.display.set_mode(配置.画面大小)
    时钟 = pygame.time.Clock()
    继续运行 = True
    油条组 = pygame.sprite.Group()
    for 第几个油条 in range (0,配置.同时出现的油条数量):
        油条组.add(油条类())
    龙虾组 = pygame.sprite.Group()
    for 第几个龙虾 in range (0,配置.同时出现的龙虾数量):
        龙虾组.add(龙虾类())
    池塘组 = pygame.sprite.Group()
    for 第几个池塘 in range (0,2):
        池塘组.add(池塘类())
    背景 = 背景类()
    主角 = 主角类()
    分数 = 分数类(主角.生命条数)
    pygame.key.set_repeat(10, 20)
    while 继续运行:
        list_colid = pygame.sprite.spritecollide(主角, 油条组, True)
        if list_colid:
            for sp in list_colid:
                主角.生命条数 += 1
                分数.update(主角.生命条数)
                主角.图片状态 = '加生命'
        list_colid = pygame.sprite.spritecollide(主角, 龙虾组, True)
        if list_colid:
            有几个龙虾碰到 = 0
            for sp in list_colid:
                主角.生命条数 -= 1
                if 主角.生命条数 < 0:
                    主角.isDead = True
                有几个龙虾碰到 += 1
                分数.update(主角.生命条数)
                主角.图片状态 = '减生命'
            if 有几个龙虾碰到>0 :
                for 第几个 in range (0,有几个龙虾碰到):
                    龙虾组.add(龙虾类())
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                继续运行 = False
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP :
                    主角.go(1)
                if event.key == pygame.K_LEFT:
                    主角.go(2)
                if event.key == pygame.K_RIGHT:
                    主角.go(3)
                if event.key == pygame.K_DOWN:
                    主角.go(4)
        时钟.tick(40)
        油条组.update();
        龙虾组.update();
        背景.update();
        #主画面.fill(配置.黑色)
        背景.draw(主画面)
        油条组.draw(主画面)
        龙虾组.draw(主画面)
        池塘组.draw(主画面)
        分数.draw(主画面)
        #if 主角.isDead:

        主角.draw(主画面)
        pygame.display.update()

if __name__ == '__main__':
    主方法()